package com.smedi.ismedi.progress.core.infrastructure.util.mpp;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * Project mpp任务对象
 *
 * @author hexu@goldbeacon.cn
 * @version 1.0
 * @remark ...
 * @date 2022/10/9 16:09
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class MppTask {
    private Long id;
    private Long newId;
    private Integer indexs;
    private Integer numbers;

    /**
     * 任务名称前缀
     */
    private String namePrefix;

    /**
     * 任务名称
     */
    private String name;

    /**
     * 里程碑任务
     */
    private Boolean milestone;

    /**
     * 关键任务
     */
    private Boolean critical;

    /**
     * 工期、持续时间
     */
    private Integer duration;

    /**
     * 工期、持续时间单位（d:天）
     */
    private String durationUnit;

    /**
     * 优先级
     **/
    private Integer priority;

    /**
     * 开始时间
     **/
    private LocalDateTime startDate;

    /**
     * 结束时间
     **/
    private LocalDateTime endDate;
    /**
     * 父ID
     **/
    private Long parentId;
    /**
     * 父级名称
     **/
    private String parentName;

    /**
     * 完成百分比
     **/
    private Double percentDone;

    /**
     * 任务等级
     **/
    private Integer taskLevel;


    /**
     * 资源名称
     **/
    private String resourceName;

    /**
     * 前置任务
     **/
    private List<MppDependency> mppDependencyList;

}
